// 前后端通信数据结构定义

export interface Result<T = any> {
  code: number;        // 状态码
  message: string;     // 提示信息  
  data?: T;            // 响应数据
}

// HTTP 状态码定义
export enum StatusCode {
  // 1xx - 信息性响应  
  CONTINUE = 100,                   // 继续请求  
  SWITCHING_PROTOCOLS = 101,        // 协议切换  
  PROCESSING = 102,                 // 正在处理  
  // 2xx - 成功  
  OK = 200,                         // 请求成功  
  CREATED = 201,                    // 创建成功  
  ACCEPTED = 202,                   // 接受请求但未处理完成  
  NON_AUTHORITATIVE_INFORMATION = 203, // 非授权信息  
  NO_CONTENT = 204,                 // 无内容  
  RESET_CONTENT = 205,              // 重置内容  
  PARTIAL_CONTENT = 206,            // 部分内容  
  MULTI_STATUS = 207,               // 多状态  
  // 3xx - 重定向  
  MULTIPLE_CHOICES = 300,           // 多种选择  
  MOVED_PERMANENTLY = 301,          // 永久移动  
  FOUND = 302,                      // 临时移动  
  SEE_OTHER = 303,                  // 查看其他位置  
  NOT_MODIFIED = 304,               // 未修改  
  TEMPORARY_REDIRECT = 307,         // 临时重定向  
  PERMANENT_REDIRECT = 308,         // 永久重定向  
  // 4xx - 客户端错误  
  BAD_REQUEST = 400,                // 请求错误  
  UNAUTHORIZED = 401,               // 未授权  
  PAYMENT_REQUIRED = 402,           // 需要支付 
  FORBIDDEN = 403,                  // 禁止访问  
  NOT_FOUND = 404,                  // 资源未找到  
  METHOD_NOT_ALLOWED = 405,         // 方法不允许  
  NOT_ACCEPTABLE = 406,             // 不可接受  
  PROXY_AUTHENTICATION_REQUIRED = 407, // 需要代理认证  
  REQUEST_TIMEOUT = 408,            // 请求超时  
  CONFLICT = 409,                   // 资源冲突  
  GONE = 410,                       // 资源已删除 
  LENGTH_REQUIRED = 411,            // 需要长度  
  PRECONDITION_FAILED = 412,        // 先决条件失败  
  PAYLOAD_TOO_LARGE = 413,          // 请求体过大  
  URI_TOO_LONG = 414,               // URI 过长  
  UNSUPPORTED_MEDIA_TYPE = 415,     // 不支持的媒体类型  
  RANGE_NOT_SATISFIABLE = 416,      // 请求范围不满足  
  EXPECTATION_FAILED = 417,         // 预期失败  
  I_AM_A_TEAPOT = 418,              // I'm a teapot（彩蛋）  
  // 5xx - 服务器错误  
  INTERNAL_SERVER_ERROR = 500,      // 服务器内部错误  
  NOT_IMPLEMENTED = 501,            // 功能未实现  
  BAD_GATEWAY = 502,                // 网关错误  
  SERVICE_UNAVAILABLE = 503,        // 服务不可用  
  GATEWAY_TIMEOUT = 504,            // 网关超时  
  HTTP_VERSION_NOT_SUPPORTED = 505, // 不支持的 HTTP 版本  
  INSUFFICIENT_STORAGE = 507,       // 存储不足  
  NETWORK_AUTHENTICATION_REQUIRED = 511 // 需要网络身份验证
}

